/*
 * CS_SEARCH_GUILD.cpp
 *
 *  Created on: 2014. 7. 31.
 *      Author: spencer
 */





#include "../../User.h"
#include "../../Command.h"
#include "../../Proxy.h"

#include "../protocol/Guild.h"

namespace ProjectZ { namespace NCommand {

void Command::CS_SEARCH_GUILD(User * pUser, ::Network::Packet * pPacket)
{
/*
CS_GUILD_FIND						0x3226
{
	str			strFindGuild;
	u16 		u16page;	//1page 부터
}

SC_GUILD_FIND						0x3227
{
	s16				s16ack;						/// ACK_OK: 성공
												/// ACK_GUILD_NOT_EXIST: 길드를 찾을 수 없음

	u8				u8count;					/// 최대 20개
	{
	u32				u32guild_seq;				//길드번호
	str				strGuild_name;				//길드명
	str				strGuild_master_nickname;	//길마 닉네임
	u16				u16Guild_master_lv;			//길마 레벨

	//s8				s8Guild_icon;				//계급 아이콘 index (-1: 없음)

	u32				u32Guild_point;				//현재 길드 포인트
	u32				u32Guild_pre_point;			//갱신 이전 길드 포인트
	u8				u8Guild_level;				//길드등급 (길드없음 0, 길드 등급에 따라 1~6)

	u8				u32Guild_max_member;		//길드 최대 인원
	u8				u32Guild_current_member;	//길드 현재 인원

	str				strGuild_message;			//길드 모집글

	// u8				u8GuildJoinState;			//조회자의 길드 가입상태 0: 미가입 1:가입신청 중 2:가입됨 삭제

	}

}
*/
	PREPARE_PACKET;
	Toolkit::Str<18> strGuildName;

	*pPacket >> strGuildName;

//	if (0 < pUser->GetUserInfo().guild_seq || 0 >= guild_seq)
//	{
//		::Network::Packet * pAck = ::Network::GETPACKETPOOL()->SEND_NEW();
//		*pAck << static_cast<int16_t>(ACK_UNKNOWN_ERROR);
//		pAck->MakePacket(CMD_SC_GUILD_FIND);
//		pUser->Send(pAck);
//		return;
//	}

	SearchGuildSyn syn;
	syn.user_seq	= pUser->GetUserSeq();
	syn.guild_name = strGuildName.c_str();

//	DEBUGLOG("%s> user_seq: %d, guild: %s"
//			, __FUNCTION__
//			, syn.user_seq, syn.guild_name.c_str()
//			);

	if (false == NProxy::SendGuildServer(pUser, syn))
	{
		::Network::Packet * pAck = ::Network::GETPACKETPOOL()->SEND_NEW();
		*pAck << static_cast<int16_t>(ACK_UNKNOWN_ERROR);
		pAck->MakePacket(CMD_SC_GUILD_FIND);
		pUser->Send(pAck);
		return;
	}
}

} /*NCommand*/ } /*ProjectZ*/
